package com.zenithmind.note.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zenithmind.note.pojo.entity.NoteLike;

/**
 * 笔记点赞服务接口
 * 
 * @author zenithmind
 * @since 2023-06-12
 */
public interface NoteLikeService extends IService<NoteLike> {
    
    /**
     * 用户是否点赞了笔记
     * 
     * @param noteId 笔记ID
     * @param userId 用户ID
     * @return 是否点赞
     */
    boolean isLiked(String noteId, String userId);
    
    /**
     * 添加点赞
     * 
     * @param noteId 笔记ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean addLike(String noteId, String userId);
    
    /**
     * 取消点赞
     * 
     * @param noteId 笔记ID
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean cancelLike(String noteId, String userId);
    
    /**
     * 根据笔记ID删除所有点赞记录
     * 
     * @param noteId 笔记ID
     * @return 是否成功
     */
    boolean deleteByNoteId(String noteId);
    
    /**
     * 根据用户ID删除所有点赞记录
     * 
     * @param userId 用户ID
     * @return 是否成功
     */
    boolean deleteByUserId(String userId);
} 